package com.rental.quickenPoint.client;

import com.rental.common.result.AjaxResult;
import com.rental.model.entity.chargeRecord.ChargeRecord;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(name = "charge-server")
public interface ChargeRecordClient {

    @PostMapping("/charge-record/advertising")
    public AjaxResult<Boolean> advertising(@RequestBody ChargeRecord chargeRecord,@RequestParam Long userId);

    @PostMapping("/charge-record/advertisingWeiBo")
    public AjaxResult<Boolean> advertisingWeiBo(@RequestBody ChargeRecord chargeRecord,@RequestParam Long userId);

    @GetMapping("/charge-record/sign")
    public AjaxResult<Boolean> sign(@RequestParam Long userId);

    @PostMapping("/charge-record/getChargeRecordInfo")
    public AjaxResult<List<ChargeRecord>> getChargeRecordInfo(@RequestParam Long userId);

    @GetMapping("/charge-record/toRegister")
    public AjaxResult<String> toRegister(@RequestParam("userId") Long userId,@RequestParam("idCard") String idCard,@RequestParam("realName") String realName);

    @GetMapping("/user-account/initUserAccount")
    public AjaxResult<Boolean> initUserAccount(@RequestParam Long userId);

    /**
     * 直连加速
     * @param userId
     * @return
     */
    @PostMapping("/charge-record/connectWay")
    public AjaxResult<Boolean> connectWay(@RequestParam Long userId);
}
